<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // 第一遍
    // let 具有块级作用域
    // {
    //     let a = 1;
    // }
    // console.log(a);

    //let 不存在变量提前声明
    // console.log(b);
    // let b = 2; Cannot access 'b' before initialization

    //let 不能重复声明
    // let a = 1;
    // let a = 1;
    // console.log(a, b);Identifier 'a' has already been declared

    //let 虽然是块级作用域但不影响作用域链
    {
        let girl = "女孩"

        function fn() {
            console.log(girl);
        }
        fn();
    }


    // 第二遍
    // let具有块级作用域
    // {
    //     let a=1;
    // }
    // console.log(a);

    //let 不存在提前声明
    // console.log(a);
    // let a = 1;Cannot access 'b' before initialization

    //let 不能重复声明
    // let c = 1;
    // let c = 2;
    // console.log(c);Identifier 'a' has already been declared

    //let 虽然是块级作用域但是不影响作用域链
    // {
    //     let c = 1;

    //     function fn() {
    //         console.log(c);
    //     }
    //     fn();
    // }

    // 第三遍
    //let 具有块级作用域
    // {
    //     let a = 1;
    // }
    // console.log(a);

    //let不存在提前声明
    console.log(a);
    let a = 1;

    //let不能重复声明
    // let a = 1;
    // let a = 2;
    // console.log(a);Identifier 'a' has already been declared

    //let虽然是块级作用域但是不影响作用域链
    {
        let a = 1;

        function fn() {
            console.log(a);
        }
        fn()
    }
</script>

</html>